package warpper;

import object.Point;

/**
 * 包装类
 * java为8个基本类型定义了8个对应的包装类，让基本类型可以以对象的形式存在
 * 基本类型                 包装类
 * byte                 java.lang.Byte
 * short                java.lang.Short
 * int                  java.lang.Integer
 * long                 java.lang.Long
 * float                java.lang.Float
 * double               java.lang.Double
 * char                 java.lang.Character
 * boolean              java.lang.Boolean
 */
public class IntegerDemo1 {
    public static void main(String[] args) {
//        int a = 123;
        int a = 128;
        //将基本类型变成对应的包装类
//        Integer i1 = new Integer(a);
//        Integer i2 = new Integer(a);
        //对于Integer而言，valueOf总是重用1字节之内的整数对象
        Integer i1 = Integer.valueOf(a);
        Integer i2 = Integer.valueOf(a);
        System.out.println(i1);
        System.out.println(i2);
        System.out.println(i1 == i2);
        System.out.println(i1.equals(i2));

        double d = 123.456;
        Double d1 = Double.valueOf(d);
        Double d2 = Double.valueOf(d);
        System.out.println(d1 == d2);
        System.out.println(d1.equals(d2));

        //包装类可以将其表示的数字以基本类型返回
        int i = i1.intValue();
        double dd = i1.doubleValue();
        byte b = i1.byteValue();//需要注意，大类型向小类型转换可能溢出
        System.out.println(i);
        System.out.println(dd);
        System.out.println(b);

    }

}




